Communication system and method

ABSTRACT

A modem for handling notifications received over a network is disclosed. In one embodiment, the modem includes a first interface to connect to a network, a second interface to connect to a host processor on a terminal and a modem processor to receive presence configuration information from the host processor and in response thereto transmit a request comprising the presence configuration information to a presence information store. The modem processor further arranged to receive one or more notifications with presence information from the store based on the presence configuration information in the request. The presence information supplied to the store by one or more further terminals associated with one or more users. The modem processor stores the one or more notifications in a storage means, and in response to receiving a request for presence information from said host processor, supply presence information thereto based on the one or more notifications.

TECHNICAL FIELD

The disclosure relates to a modem for use at a terminal. In particularthe disclosure relates to handling notifications received over a networkat the modem.

BACKGROUND

FIGS. 1 a and FIG. 1 b are schematic block diagrams of communicationsystems comprising a host terminal 2 and a modem 4. The host terminal 2may be a user terminal, and may for example take the form of a desktopcomputer, laptop computer, tablet style computer, or mobile phone (whichmay be referred to as a “smart phone”). As shown in FIG. 1 a, the modem4 may for example take the form of a dongle for plugging into the hostterminal 2 such that the modem 4 is connected to a host processor 30(otherwise referred to as an application processor) of the host terminal2. Alternatively the modem 4 may take the form of a mobile phone handsetwhich, as well as being a conventional mobile telephone, can beconnected to the host terminal 2 so as to act as an external cellularmodem for the host terminal 2. As shown in FIG. 1 a, the modem 4 may beexternal to the host terminal 2 in that it is a separate unit housed ina separate casing, but which is connected or connectable to the hostprocessor 30 of the host terminal 2 by means of a wired or wirelessconnection (as well as being removable or being able to be disconnectedfrom the host terminal 2). In another alternative set up, as shown inFIG. 1 b, the modem 4 may be internal to the host terminal 2, e.g.taking the form of a wireless module in the host terminal 2. Forexample, both the modem 4 and host processor 30 may be housed within thesame casing of the host terminal 2. For example the modem 4 may beinternal to a mobile phone 2, and connected to the host processor 30 ofthe mobile phone 2 by way of a wired connection.

The system also comprises a network 6 such as a mobile cellular network6 (3GPP network or other CDMA network). Elements of the network 6 arewell known to those skilled in the art and are not discussed herein.

For connecting to the mobile cellular network 6, the modem 4 comprises afirst interface.

With reference to the communication system shown in FIG. 1 a, the firstinterface may comprise a wireless transceiver, typically in the form ofa radio frequency (RF) transceiver and an antenna 5. The first interfaceof the modem 4 connects via an antenna (not shown) of the mobilecellular network 6 enabling the modem 4 to establish a channel betweenitself and the mobile cellular network 6.

With reference to the communication system shown in FIG. 1 b, the firstinterface may comprise a wired connection to an interface on the hostterminal. The interface on the host terminal may comprise a wirelesstransceiver, typically in the form of a radio frequency (RF) transceiverand an antenna 5. The interface on the host terminal 2 connects via anantenna (not shown) of the mobile cellular network 6 enabling the modem4 to establish a channel between itself and the mobile cellular network6.

This channel referred to above may be referred to as a “context”. Forexample, if the mobile cellular network is a 3GPP network, then theconnection between the modem 4 and a 3GPP network 6 may be called a PDP(Packet Data Protocol) context in 2G or 3G terminology, and an EPS(Evolved Packet System) bearer context in LTE (Long Term Evolutionstandards) terminology. The physical medium of the connection istypically a radio channel such as a 2G, 3G or LTE radio channel and theprotocol that drives it may comprise a set of protocol layers as definedfor example by 3GPP. The mobile cellular network 6 may be coupled to afurther, packet-based network, for example a wide area internetwork suchas the Internet, by way of one or more gateway routers.

For connecting to the host processor 30 on the host terminal 2, themodem 4 comprises a second interface.

With reference to the communication system shown in FIG. 1 a, the secondinterface, between the host processor 30 and modem 4, could for examplecomprise a wired connection such as USB, or a short-range wirelesstransceiver such as an infrared connection or a radio frequencyconnection (e.g. Bluetooth).

With reference to the communication system shown in FIG. 1 b, the secondinterface, between the host processor 30 and modem 4, could for examplecomprise a wired connection within the host terminal 2.

SUMMARY

According to one aspect, the disclosure provides a modem for use at aterminal. In one embodiment the modem includes: (1) a first interfacearranged to connect to a network, (2) a second interface arranged toconnect to a host processor on the terminal and (3) a modem processorarranged to receive presence configuration information from the hostprocessor via the second interface and in response to receiving thepresence configuration information the modem processor is arranged totransmit a request including the presence configuration information viathe first interface to a presence information store. The processor isfurther arranged to receive one or more notifications with presenceinformation from the presence information store via the first interfacebased on the presence configuration information in the request, thepresence information supplied to the presence information store by oneor more further terminals associated with one or more users. The modemprocessor is further arranged to store the one or more notifications ina storage means coupled to the processor, and in response to receiving arequest for presence information from said host processor via the secondinterface, to supply presence information to the host processor based onthe one or more notifications stored in the storage means.

According to another aspect of the disclosure there is provided acomputer program product for operating a modem for use at a terminal,the modem having a modem processor, a first interface for connecting toa network, and a second interface for connecting to the terminal. In oneembodiment, the computer program product includes code embodied on anon-transitory computer-readable medium and configured so as whenexecuted on the modem processor to: (1) receive presence configurationinformation from the terminal via the second interface, (2) in responseto receiving the presence configuration information, transmit a requestcomprising the presence configuration information via the firstinterface to a presence information store, (3) receive one or morenotifications with presence information from a presence informationstore via the first interface based on the presence configurationinformation in the request, the presence information supplied to thepresence information store by one or more further terminals associatedwith one or more users, (4) store the one or more notifications in astorage means and (5) receive a request for presence information fromsaid host processor via the second interface and in response toreceiving said request, supply presence information to the hostprocessor based on the one or more notifications stored in the storagemeans.

According to yet another aspect, the disclosure provides a method ofoperating a modem at a terminal, the modem having a first interface forconnecting to a network and a second interface for connecting to a hostprocessor on the terminal. In one embodiment, the method includes: (1)receiving presence configuration information from the host processor viathe second interface, (2) in response to receiving the presenceconfiguration information, transmitting a request comprising thepresence configuration information via the first interface to a presenceinformation store, (3) receiving one or more notifications with presenceinformation from a presence information store via the first interfacebased on the presence configuration information in the request, thepresence information supplied to the presence information store by oneor more further terminals associated with one or more users, (4) storingthe one or more notifications in a storage means and (5) receiving arequest for presence information from said host processor via the secondinterface and in response to receiving said request, supplying presenceinformation to the host processor based on the one or more notificationsstored in the storage means.

According to still another aspect, the disclosure provides a systemincluding: (1) a terminal, (2) a network and (3) a modem for use at theterminal. In one embodiment, the modem includes: (3A) a first interfacearranged to connect to the network, (3B) a second interface arranged toconnect to a host processor on the terminal and (3C) a modem processorarranged to receive presence configuration information from the hostprocessor via the second interface and in response to receiving thepresence configuration information the modem processor is arranged totransmit a request including the presence configuration information viathe first interface to a presence information store. The modem processoris further arranged to receive one or more notifications with presenceinformation from the presence information store via the first interfacebased on the presence configuration information in the request. Thepresence information supplied to the presence information store by oneor more further terminals associated with one or more users. The modemprocessor is further arranged to store the one or more notifications ina storage means coupled to the modem processor, and in response toreceiving a request for presence information from said host processorvia the second interface, to supply presence information to the hostprocessor based on the one or more notifications stored in the storagemeans.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the disclosure and to show how it may beput into effect, reference by way of example is made to the accompanyingdrawings in which:

FIG. 1 a and FIG. 1 b are schematic block diagrams of communicationsystems comprising a host terminal and a modem,

FIG. 2 is a schematic block diagram of an external modem unit for use ata host terminal,

FIG. 3 is a schematic illustration of a presence environment,

FIG. 4 is a schematic block diagram of a modem processor and a processorat a host terminal, and

FIG. 5 is a signalling chart representing a method of handling presencenotifications.

DETAILED DESCRIPTION

A contact list on the host terminal 2 of a User Equipment can be used tostore the details of various users, or “contacts” with whom the user ofthe host may want to initiate a communication with, for example a voiceor video call, or an instant message (IM).

If the User Equipment supports presence functionality, a user's contactlist may be enhanced by associating presence information with contactsin the contact list. Presence information indicates a statecharacterizing the existence of an active device through which a usercan communicate or through which presence can be detected.

As part of the presence functionality, a user can subscribe to differentevents related to his contacts and the user will receive notification ofthe corresponding event whenever it occurs.

The disclosure recognizes a problem in that when a host processor 30 onthe host terminal 2 is in a sleep mode to save power consumption, theprocessor 30 will be woken up by a notification every time such an eventoccurs, significantly increasing the power consumption of the hostprocessor 30.

As noted above, the disclosure provides an embodiment of a modem for useat a terminal that includes: a first interface arranged to connect to anetwork; a second interface arranged to connect to a host processor onthe terminal; and a modem processor arranged to receive presenceconfiguration information from the host processor via the secondinterface and in response to receiving the presence configurationinformation the modem processor is arranged to transmit a requestcomprising the presence configuration information via the firstinterface to a presence information store; wherein the processor isfurther arranged to receive one or more notifications with presenceinformation from the presence information store via the first interfacebased on the presence configuration information in the request, thepresence information supplied to the presence information store by oneor more further terminals associated with one or more users; wherein themodem processor is further arranged to store the one or morenotifications in a storage means coupled to the processor, and inresponse to receiving a request for presence information from said hostprocessor via the second interface, to supply presence information tothe host processor based on the one or more notifications stored in thestorage means.

The presence information supplied to the host processor may comprise theone or more notifications stored in the storage means.

The modem processor may be arranged to: upon receiving the request forpresence information from said host processor, determine a currentstatus of the one or more users from the one or more notificationsreceived via the first interface, and determine whether the currentstatus is different to a previous status of the one or more users at atime when the modem processor received a previous request for presenceinformation from said host processor; wherein if the current status ofthe one or more users is different to the previous status of the one ormore users, the presence information supplied to the host processor onlyindicates the current status of the one or more users.

The one or more notifications may be stored in the storage means in theform of one or more Extensible Markup Language (XML) files.

The modem processor may be arranged to transmit the request as a SessionInitiation Protocol (SIP) message. The processor may be arranged toreceive the one or more notifications in the form of one or more SessionInitiation Protocol messages.

The modem processor may be arranged to receive the presenceconfiguration information from the terminal via the second interface inan Attention (AT) Command.

The terminal may comprise a housing and the modem may be an internalmodule within said terminal housing. The second interface may comprise awired connector or connection within said terminal housing to connect tothe host processor. The first interface may connect to a first wirelesstransceiver of said terminal for connecting to the network

The modem may comprise an external unit for use at the terminal. Thesecond interface may be a Universal Serial Bus (USB) interface. Themodem may comprise a dongle housing, the modem for plugging into saidterminal via the second interface. The first interface may comprise afirst wireless transceiver for connecting to the network. The secondinterface may comprise a second wireless transceiver for connecting tothe terminal via a local wireless connection.

The modem may comprise a mobile phone housing for connecting to saidterminal via the second interface, the mobile phone thus being operableas a telephone and as an external wireless cellular modem for theterminal.

Referring to FIG. 2, the modem 4 may comprise a processor 33 and,operatively coupled to the processor 33, a non-transitorycomputer-readable storage medium 34 such as a magnetic or electronicmemory storing soft-modem code. The code on the storage medium 34 isarranged to be executed on the processor 33, so as when executed to sendand receive packets between the host 2 and network 6, and to perform theadditional operations of the modem 4 as discussed below. However, thepossibility of some or all of the modem functionality being implementedin dedicated hardware is not excluded.

The modem 4 comprises a first interface 31 corresponding to the firstinterface referred to above with reference to FIG. 1. The modem 4 alsocomprises a second interface 32 corresponding to the first interfacereferred to above with reference to FIG. 1.The modem may be configuredin a similar manner to that discussed in relation to FIG. 1 above, butwith additional functionality added in accordance with the principles ofthe disclosure, an example of which will be discussed in more detailbelow.

FIG. 3 illustrates a conventional presence environment comprising afirst User Equipment 301 associated with a user A and a second UserEquipment 311 associated with a user B. For reasons of simplicity, thepresence environment of FIG. 3 is shown with only two user equipmentspresent, however it will be appreciated that this is merely an exampleand typically additional user equipments to those shown in FIG. 3 willbe present in the presence environment.

The User Equipment 301 executes communication client software (not shownin FIG. 3), typically on a host processor 30 of a host terminal 2. Thatis, the host processor 30 of the host terminal 2 is coupled to a memory(not shown) which stores communications code arranged to be executed onthe processor, and configured so as when executed to engage incommunications over the network 6. The communications code comprises acommunication client application for performing communications such asvoice or video calls or instant messaging (IM) with other terminals overthe network. As part of the functionality provided by the communicationclient application, user A is able to maintain a contact list which canbe used to store the details of various users, or “contacts” with whom auser of the communication client application may want to initiate acommunication with.

The User Equipment 301 also executes presence client software 302,typically on the host processor 30 of the host terminal 2 whichinterworks with the communication client application. That is, the hostprocessor 30 of the host terminal 2 is coupled to a memory (not shown)which stores code which when executed on the processor enhances the UserA's contact list by associating presence information with contacts inthe contact list.

The presence client software 302 may be based for example on the SIMPLE(Session Initiation Protocol for Instant Messaging and PresenceLeveraging Extensions) protocol suite based on Session InitiationProtocol (SIP) managed by the Internet Engineering Task Force (ETF).

As well as controlling the display of User A's contact list, the codewhen executed on the processor 30 of the host terminal 2, also transmitsUser A's presence information via the modem 4 to the network 6.

A SIP stack 308, typically implemented on a modem 4 of the UserEquipment 301 allows for SIP signalled communications to and from thenetwork 6. SIP is an open signalling protocol for establishing manykinds of real-time communication sessions. Examples of the types ofcommunication sessions that may be established using SIP include voice,video, and/or instant messaging.

Two protocols that are often used in conjunction with SIP are the RealTime Protocol (RTP) and the Session Description Protocol (SDP). The RTPprotocol is used to carry the real-time multimedia data. SDP is used todescribe and encode capabilities of session participants. Such adescription is then used to negotiate the characteristics of the sessionso that all the devices can participate (that includes, for example,negotiation of codecs used to encode media so all the participants willbe able to decode it, and negotiation of the transport protocol used).

User Equipment 311 has corresponding functionality through the use ofclient software 312 and SIP stack 318.

The network 6 comprises a presence information store 320 which accepts,stores and distributes presence information from User Equipment 301 andUser Equipment 311.

User A's contact list may store the details of User B to enable User Ato initiate a communication with User B. Thus by executing the presenceclient software 302 User A's contact list is supplemented with presenceinformation of User B. Similarly, User B's contact list may store thedetails of User A to enable User B to initiate a communication with UserA. Thus by executing the client software 312 User B's contact list issupplemented with presence information of User A.

Presence information is a user-defined indication of the current statusof a user. Presence information is displayed on the host terminal in theuser's contact list for each of the contacts that the user has stored,and allows the user to view the current user-defined status of thecontacts in the system. Example presence states that may be displayedinclude “online”, “offline”, “away”, and “do not disturb”. Thesepresence states are mere examples and are not limiting in any way.

As part of the client software functionality, a user can subscribe todifferent “events” related to his contacts and he will receivenotification of the corresponding event whenever it occurs. These eventsrelate to a presence status change in an application that the presenceclient software 302 is arranged to interwork with. For example, when thehost processor executes communication client software referred to above,the events may relate to a presence status change of one or more of thecontacts with whom a user of the communication client application maywant to initiate a voice call, video call or instant messagingcommunication with. Whilst communication client software is used as anexample, the events may relate to a presence status change in anyapplication that the presence client software 302 is arranged tointerwork with.

For computer systems implemented on user devices, such as mobile smartphones and tablets, it is important to keep the power consumption of thecomputer system at a low level because, for example, the power supply tothe user device may be limited. One mechanism to conserve power supplylevels is for the host processor 30 on the host terminal 2 to operate ina “sleep” mode. While in the low power (or sleep) mode the hostprocessor 30 is unable to process information, but typically draws afraction of the electrical current it draws while operating in an active(or awake) mode, where it does process information. Thus the hostprocessor 30 consumes less power when in the sleep mode.

While the host processor 30 is in sleep mode, it may not be appropriateto wake it up every time an event occurs. For example a user may want toreceive a communication, for example an Instant Message, as soon as itoccurs but not waste power consumption on updating contacts status forcontacts in the user's contact list.

In some embodiments, the disclosure provides a modem 4 which implementssome of the client software functionality to handle events locally andonly inform the host processor 30 on the host terminal 2 of the eventswhen requested by the host processor 30 i.e. event notifications to thehost processor 30 on the host terminal 2 are handled by the modem 4 ondemand.

Embodiments of the disclosure are described in more detail withreference to FIGS. 4 and 5.

FIG. 4 illustrates a User Equipment 301 comprising a host processor 30on the host terminal 2 and the modem processor 33 on the modem 4.

The host processor 30 executes presence client software 302. That is,the host processor 30 is coupled to a memory (not shown) on the hostterminal 2 that stores code which when executed on host processor 30enhances User A's contact list by associating presence information withcontacts in User A's contact list.

The modem processor 33 includes an AT (ATtention) command interface 404for receiving AT commands from the host processor 302. The AT commandsreceived over the AT command interface 404 are used to control theoperation for the modem 4 as described in more detail below. A SIP stack308, TCP/IP stack 410 and 3GPP stack 412 are configured to process datafor communication to and from the network 6 according to Internetprotocols.

The SIP, TCP, and IP processing (shown by blocks 308 and 410) isimplemented in the form of code 35 stored on a non-transitorycomputer-readable medium 34 of the modem 4 (not necessarily the samephysical memory device as the rest of the soft modem code, though itcould be) and arranged for execution on the processor 33 of the modem 4so as to process data for communication to and from the network 6.

The 3GPP stack 412 is configured to process data for communication toand from a mobile cellular network 6 (3GPP network or other CDMAnetwork), the 3GPP stack 412 comprising a set of protocol layers asdefined for example by 3GPP for transferring data across a radio channelsuch as a 2G, 3G or LTE radio channel. As is well known, the protocolstack according to 3GPP comprises a plurality of layers; beginning atthe lowest layer is the physical layer PHY which represents thesignalling link, then a medium access control (MAC) protocol layer, thena radio link control (RLC) protocol layer and then a packet dataconvergence protocol (PDCP) layer. The 3GPP protocol stack also includesa number of other higher layers, not discussed herein. The 3GPP protocolstack 412 is implemented in the form of code 35 stored on anon-transitory computer-readable medium 34 of the modem 4 (notnecessarily the same physical memory device as the rest of the softmodem code, though it could be) and arranged for execution on theprocessor 33 of the modem 4 so as when executed to perform theoperations described above.

As shown in FIG. 4, part of the functionality of the presence clientsoftware 302 has been moved to the modem 4, this is indicated by thepresence proxy 406.

The presence proxy 406 is implemented in the form of code 35 stored on anon-transitory computer-readable medium 34 of the modem 4 (notnecessarily the same physical memory device as the rest of the softmodem code, though it could be) and arranged for execution on theprocessor 33 of the modem 4 so as when executed to handle eventnotification. However, the possibility of some or all of thefunctionality of the code 35 being implemented in dedicated hardware isnot excluded.

FIG. 5 is a signalling chart illustrating a method according to anembodiment of the disclosure.

The signalling chart of FIG. 5 is described with reference to the UserEquipment 301 shown in FIG. 4. At step S502, the presence clientsoftware 302 when executed on the host processor 30 of the host terminal2, transmits presence configuration information to the modem 4. Thepresent configuration information may be entered by user A via a userinterface of the client communication application displayed on the hostterminal 2 and received by the presence client software 302 due to theinterworking between the client communication application and presenceclient software 302. The presence configuration information may be sentfrom the presence client software 302 to the modem processor 33 in theform of an AT command, and received at the modem processor 33 via the ATcommand interface 404.

The presence configuration information indicates what events related toUser A's contacts that User A wants to subscribe to i.e. the events thatUser A wants to be notified of whenever they occur.

Upon the modem processor 33 receiving the presence configurationinformation, the presence proxy 406 supplies subscribe configurationinformation to SIP stack 308 at step S504. The subscribe configurationinformation supplied from presence proxy 406 to the SIP stack 308 atstep S504 comprises the presence configuration information to enable theSIP stack 308 to transmit a request to the network 6 for the presenceconfiguration information.

At step S506 the SIP stack 308 transmits a request to the network 6based on the information in the subscribe configuration informationreceived from the presence proxy 406. That is, the SIP stack transmitsan SIP subscribe message to the network 6, the SIP subscribe messagecomprising the presence configuration information received at the modemat step S502.

The SIP subscribe message is transmitted to a presence information store320 located in the network 6. The presence information store 320 may forexample be a presence server. In response to receiving the SIP subscribemessage, the presence information store 320 transmits an acknowledgementof safe receipt of the request in the form of a SIP OK message at stepS508. At this stage in the process, the presence information store 320located in the network 6 knows what presence information should bedelivered to the User Equipment 301.

Referring back to the presence environment described above withreference to FIG. 3. The presence information store 320 located in thenetwork 6 may be instructed by way of the SIP subscribe message tonotify the User Equipment 301 of certain events related to User Bassociated with User Equipment 311. For example the SIP subscribemessage may request that the User Equipment is 301 is notified everytime User B's presence is changed to one of “online”, “offline”, “away”,and “do not disturb”. The SIP subscribe message may request that theUser Equipment is 301 is notified every time User B's presence ischanged to certain states but not others. For example SIP subscribemessage may request that the User Equipment is 301 is notified everytime User B's presence is changed to “online” but not when User B'spresence is changed to “offline”, “away”, or “do not disturb”. Thepresence information store 320 is made aware of any change of User B'spresence state by the execution of the presence client software 312 onUser Equipment 311.

When an event occurs that User A has subscribed to (by way of the SIPsubscribe message), at step S510 a the presence information store 320notifies the SIP stack 308 of the corresponding event.

In known systems, once the SIP stack 308 had been notified of an event,a notification would be transmitted to the host processor 30 on the hostterminal 2 executing the presence client software 302 so that User A'scontact list is supplemented with presence information of User B.

In contrast, in the disclosure the presence proxy 406 handles any eventlocally at the modem 4. That is, upon being notified of an event the SIPstack 308 supplies a notification to the presence proxy 406, referencedby step S514 a. At step S512 a the SIP stack 308 acknowledges safereceipt of the notification transmitted at step S510 a.

When a further event occurs that User A has subscribed to, at step S510b the presence information store 320 notifies the SIP stack 308 of thecorresponding event. Upon being notified of the event the SIP stack 308supplies a notification to the presence proxy 406, referenced by stepS514 b. At step S512 b the SIP stack 308 acknowledges safe receipt ofthe notification transmitted at step S510 b.

Presence notifications 514 received at the presence proxy 406 from SIPstack 308 are stored on a non-transitory computer-readable medium 34 ofthe modem 4 (not necessarily the same physical memory device as the restof the soft modem code and/or the presence proxy code though it couldbe). The presence notifications 514 may be stored in storage 34 in theform of Extensible Markup Language (XML) files.

Thus, whilst the host processor 30 is in sleep mode, presencenotifications are handled by the modem 4 and are not delivered to thepresence client software 302 executed on the host processor 30. When thehost processor 30 is “woken up”, i.e. switched to operate in an awakemode, at step S516 the presence client software 320 executed on hostprocessor 30 transmits a request for presence notifications to thepresence proxy 406 on modem 4. The request transmitted at step S516 maytake the form of an AT command. Alternatively, the request transmittedat step S516 may be transmitted in accordance with a proprietarycommunication protocol.

At step S518, the presence proxy 406 responds to the presence request.At step S518 the presence proxy 406 may deliver presence notifications514 “blind”. That is, any presence notifications 514 stored in thestorage 34 may be delivered to the presence client software 302 withoutthe presence proxy 406 implementing any further processing of thepresence notifications 514.

Alternatively, the presence proxy 406 may only deliver the change inpresence state since the last presence request received from thepresence client software. For example, if in response to the lastpresence request the presence proxy service 406 delivered a presencenotification that indicated that User B was “online” and whilst the hostprocessor 30 was in sleep mode User B's presence state changed from“online” to “do not disturb” and then to “offline” then in response to apresence request received at step S516 from the presence client software302 the presence proxy 406 would deliver a notification that User B'spresence state has changed from “online” to “offline” without indicatingthe intermediate presence state of “do not disturb”. Similarly, if inresponse to the last presence request the presence proxy service 406delivered a presence notification that indicated that User B was“online” and whilst the host processor 30 was in sleep mode User B'spresence state changed from “online” to “offline” and then back to“online” then in response to a presence request received from thepresence client software 302 the presence proxy 406 would not deliverany presence notification in relation to User B.

Should the host processor 30 on the host terminal 2 receive anycommunication (not shown in FIG. 5), for example a voice or video call,or an instant message (IM), from User B whilst the host processor 30 isin sleep mode, the host processor 30 is arranged to be woken up.

Thus, embodiments of the disclosure advantageously alert a user to areceived communication as soon as it occurs but does not waste powerconsumption of the host terminal 2 by not waking the host processor 30from the sleep mode i.e. the host processor 30 is not switched tooperate in an awake mode, for every single change in presence state ofthe user's contacts.

Embodiments of the disclosure are particularly advantageous for mobiledevices such as a mobile telephone or tablet computer, due to thelimited power supply of the devices.

It will be appreciated that the above embodiments have been describedonly by way of example, and other variants or application may beapparent to a person skilled in the art given the disclosure herein.

For instance, while embodiments above have been described in relation tocertain standards such as 3GPP networks, Internet Protocol, SessionInitiation Protocol, and so forth, these are not intended to be limitingand the disclosure may in fact be applied within any communicationstandard of any mobile cellular network, or of any packet-based networkif such a network is involved. Nor do the terms “context” or “channel”imply a specific nature or standard, but can be used to refer to anykind of suitable data conduit or session established between a modem anda network

The portions of code 35 referred to above to implement presence proxy406, SIP, TCP, and IP processing (shown by blocks 308 and 410) and the3GPP stack 412 may be portions of the same code stored in the samephysical memory device. Alternatively the code 35 referred to above toimplement presence proxy 406, SIP, TCP, and IP processing (shown byblocks 308 and 410) and the 3GPP stack 412 may be separate portions ofcode stored in respective physical memory devices.

The disclosure is not limited by the described examples but only by theappended claims.

1. A modem for use at a terminal, the modem comprising: a firstinterface arranged to connect to a network; a second interface arrangedto connect to a host processor on the terminal; and a modem processorarranged to receive presence configuration information from the hostprocessor via the second interface and in response to receiving thepresence configuration information the modem processor is arranged totransmit a request comprising the presence configuration information viathe first interface to a presence information store; wherein the modemprocessor is further arranged to receive one or more notifications withpresence information from the presence information store via the firstinterface based on the presence configuration information in therequest, the presence information supplied to the presence informationstore by one or more further terminals associated with one or moreusers; wherein the modem processor is further arranged to store the oneor more notifications in a storage means coupled to the modem processor,and in response to receiving a request for presence information fromsaid host processor via the second interface, to supply presenceinformation to the host processor based on the one or more notificationsstored in the storage means.
 2. The modem of claim 1, wherein thepresence information supplied to the host processor comprises the one ormore notifications stored in the storage means.
 3. The modem of claim 1,wherein the modem processor is arranged to: upon receiving the requestfor presence information from said host processor, determine a currentpresence status of the one or more users from the one or morenotifications received via the first interface, and determine whetherthe current presence status is different to a previous presence statusof the one or more users at a time when the modem processor received aprevious request for presence information from said host processor;wherein if the current presence status of the one or more users isdifferent to the previous presence status of the one or more users, thepresence information supplied to the host processor only indicates thecurrent presence status of the one or more users.
 4. The modem of claim1, wherein the one or more notifications are stored in the storage meansin the form of one or more Extensible Markup Language (XML) files. 5.The modem of claim 1, wherein the modem processor is arranged totransmit the request as a Session Initiation Protocol (SIP) message. 6.The modem of claim 1, wherein the modem processor is arranged to receivethe one or more notifications in the form of one or more SessionInitiation Protocol messages.
 7. The modem of claim 1, wherein the modemprocessor is arranged to receive the presence configuration informationfrom the host processor via the second interface in an Attention (AT)Command.
 8. The modem of claim 1, wherein the terminal comprises ahousing and the modem is an internal module within said terminalhousing.
 9. The modem of claim 8, wherein the second interface comprisesa wired connector or connection within said terminal housing to connectto the host processor.
 10. The modem of claim 8, wherein the firstinterface connects to a first wireless transceiver of said terminal forconnecting to the network
 11. The modem of claim 1, wherein the modemcomprises an external unit for use at the terminal.
 12. The modem ofclaim 11, wherein the second interface is a Universal Serial Bus (USB)interface.
 13. The modem of claim 11, wherein the modem comprises adongle housing, said modem for plugging into said terminal via thesecond interface.
 14. The modem of claim 11, wherein the first interfacecomprises a first wireless transceiver for connecting to the network.15. The modem of claim 11, wherein the second interface comprises asecond wireless transceiver for connecting to the terminal via a localwireless connection.
 16. The modem of claim 1, wherein the modemcomprises a mobile phone housing for connecting to said terminal via thesecond interface, the mobile phone thus being operable as a telephoneand as an external wireless cellular modem for the terminal.
 17. Acomputer program product for operating a modem for use at a terminal,the modem having a modem processor, a first interface for connecting toa network, and a second interface for connecting to the terminal;wherein the computer program product comprises code embodied on anon-transitory computer-readable medium and configured so as whenexecuted on the modem processor to: receive presence configurationinformation from a host processor on the terminal via the secondinterface; in response to receiving the presence configurationinformation, transmit a request comprising the presence configurationinformation via the first interface to a presence information store;receive one or more notifications with presence information from apresence information store via the first interface based on the presenceconfiguration information in the request, the presence informationsupplied to the presence information store by one or more furtherterminals associated with one or more users; store the one or morenotifications in a storage means; and receive a request for presenceinformation from said host processor via the second interface and inresponse to receiving said request, supply presence information to thehost processor based on the one or more notifications stored in thestorage means.
 18. A method of operating a modem at a terminal, themodem having a first interface for connecting to a network and a secondinterface for connecting to a host processor on the terminal, whereinthe method comprises: receiving presence configuration information fromthe host processor via the second interface; in response to receivingthe presence configuration information, transmitting a requestcomprising the presence configuration information via the firstinterface to a presence information store; receiving one or morenotifications with presence information from a presence informationstore via the first interface based on the presence configurationinformation in the request, the presence information supplied to thepresence information store by one or more further terminals associatedwith one or more users; storing the one or more notifications in astorage means; and receiving a request for presence information fromsaid host processor via the second interface and in response toreceiving said request, supplying presence information to the hostprocessor based on the one or more notifications stored in the storagemeans.
 19. A system comprising: a terminal; a network; and a modem foruse at the terminal, the modem comprising: a first interface arranged toconnect to the network; a second interface arranged to connect to a hostprocessor on the terminal; and a modem processor arranged to receivepresence configuration information from the host processor via thesecond interface and in response to receiving the presence configurationinformation the modem processor is arranged to transmit a requestcomprising the presence configuration information via the firstinterface to a presence information store; wherein the modem processoris further arranged to receive one or more notifications with presenceinformation from the presence information store via the first interfacebased on the presence configuration information in the request, thepresence information supplied to the presence information store by oneor more further terminals associated with one or more users; wherein themodem processor is further arranged to store the one or morenotifications in a storage means coupled to the modem processor, and inresponse to receiving a request for presence information from said hostprocessor via the second interface, to supply presence information tothe host processor based on the one or more notifications stored in thestorage means.